The following section provides a basic overview of GIF animation that is not platform dependent. It provides a basic history of GIF animation, information on the capabilities of GIF animation and details the current level of browser support for GIF animation. Even if you are not new to GIF animation, you will likely find it very informative.
GIF animation is a utilization of the multiple image capability of the CompuServe GIF graphic file format to create a simple animation format, which is now supported by many web browsers, such as the current versions of Netscape's Navigator and Microsoft's Internet Explorer. You can use GIF animation to easily add inline animation to your web pages.
The GIF graphic file format was originally defined in 1987 by CompuServe in the GIF87a specification to provide a simple image format for CompuServe's online service. Later in 1989 the format was extended to include support for transparency and multiple images within a single file in the GIF89a specification.
The needs of CompuServe in designing a graphics format for their online service were very similar to the needs that the NCSA Mosaic team faced when designing the first graphical world wide web browser in 1993, and the GIF format was chosen as the first graphic file format for the world wide web.
Initially, very few capabilities of the GIF format were supported by NCSA Mosaic, and were still within the simple defines of the GIF87a specification. As the world wide web rapidly gained in popularity and commercial web browsers became available, more complete support for the GIF format, primarily support for interlacing and transparency, became commonplace in graphical web browsers, but many capabilities of the GIF format remained unsupported.
Netscape Navigator 2.0 was the first browser to extend support for the GIF format beyond interlacing and transparency to include multiple image or, as it has become commonly known, GIF animation support. This capability of Navigator 2.0 was discovered by chance in early beta versions of Navigator 2.0 before Netscape made any public announcement of the new capability, and GIF animation quickly became the popular standard for animation on the world wide web.
The inherent compatibility of GIF animation is primarily responsible for its rapid adoption as a popular standard. All graphical world wide web browsers support the GIF format to some extent, and those that do not support GIF animation, per say, will still display GIF animation files as single images, which provides GIF animation with a level of backwards compatibility that other animation formats do not offer.
Generally, if a browser does not directly support GIF animation the first image or frame contained in the GIF animation file is displayed, and additional frames are ignored by the browser. This means if a viewer does not have the capability to see an animation play, they will still see a still image in its place and never broken image or missing browser plug-in icons.
Despite the inherent compatibility of GIF animation, it is not without compatibility issues of a different kind. Many browsers support GIF animation, but the only guaranteed commonality between them at present is that the frames within a GIF animation file will indeed be displayed in sequence until the last frame. Everything else can vary according to the browser viewing the animation because of differing levels of support for the GIF specification.
The GIF specification, GIF89a to be precise, allows for the control of many things when displaying a file containing multiple images that can affect the appearance of the animation. Following is a list of the capabilities of the GIF89a specification, and the degree to which each is supported by current browsers with GIF animation capability.
Universally supported in browsers Commonly supported in browsers Supported by some browsers No support in browsers
The 'logical screen size' is the area reserved by the viewing application to render all images, which can vary in size, within a GIF file.
The position of each image within the logical screen area of the GIF file.
Whether an image within the GIF file uses the 'global palette', which is common to the entire file, or a 'local palette' specific to the image.
How long to wait after rendering an image before displaying the next image, which can be set individually for each image in the file.
Whether to wait for user input, as defined by the viewing application, before displaying the next image.
What color is used for transparency, if any, when rendering an image within a GIF file.
The ability to render ASCII text encoded in the GIF file separately from image data as a graphic, in a font defined by the viewing application.
How the frame should be removed or 'disposed' after it has been displayed. There are four disposal methods defined in the GIF89a specification.
1: No disposal specified. The decoder is not required to take any action.
2: Do not dispose. The image is to be left in place.
3: Restore to background color. The area used by the graphic must be restored to the background color.
4: Restore to previous. The decoder is required to restore the area overwritten by the image with what was there prior to rendering the image.
The ability to add application-specific extensions encoded inside the file to provide additional control over display or contain additional data to be interpreted. (Control for animation looping is provided by an extension defined by Netscape, that some other browsers now support as well.)
The aspect ratio to render the images at, which can be used to scale the animation from its original dimensions when rendering.
The 'background color' for the GIF file, which is always referenced from the common global palette, and used when rendering transparency and text. Many browsers ignore the GIF background color and use the background color of the web page for this purpose.
Whether an image displays as interlaced. This can be very useful for single image files as it speeds the apparent display of the image, but is not generally useful for images within GIF animations because it can produce odd visual effects.
Tools for creating GIF animations, also, generally have much more complete support for the GIF specification than browsers supporting GIF animation. For this reason, it is entirely possible to create GIF animations that behave much differently that expected when viewed in a browser, and the most common source of confusion about GIF animation.
The tendency of many is to assume that some bug in the authoring software is responsible, because they also incorrectly assume that GIF animation was created by Netscape and therefore that if Netscape doesn't display a GIF animation as expected, it must be because of some error in the authoring software. This is far from the case. GIF animation has existed in capability since 1987, and existed in present capability since 1989.
Netscape Navigator 3.0 does provide the most support at present for the complete GIF89a specification now, but it is still not complete support for the entire specification and less than the support offered by most GIF animation authoring tools. Netscape Navigator 3.0 still lacks support for the user input parameter, displaying encoded text, and does not support all defined disposal methods.
Browsers supporting GIF animation
There are many browsers with GIF animation capability at this time and GIF animation continues to be rapidly adopted by browsers. It will only be a short time before GIF animation is supported in the current versions of all graphical browsers. Following is a list of browser applications currently supporting GIF animation. Note, this list may not be complete.
Macintosh:
Netscape Navigator 2.0 - 3.0
Microsoft Internet Explorer 2.1
Apple CyberDog 1.2 - 2.0a2
Windows:
Netscape Navigator 2.0 - 3.0
Microsoft Internet Explorer 2.0 - 3.1
Opera 2.1
Amiga:
IBrowse r8
UNIX:
Netscape Navigator 2.0 - 3.0
The current level of GIF animation support in web browsers, judging by the best available usage statistics, means that more than 80% of all web users have the capability to view GIF animations inline. This is exponentially more viewers than would be possible if an animation format requiring a browser plug-in were used instead. If you use GIF animation on your web pages now, there is little need to worry that it won't be seen by your viewers. Most viewers can now and the rest will just see a still image, so everyone will see something that makes sense one way or the other.
Copyright 1997 BoxTop Software, Inc. All rights reserved. GIFmation(tm) is a Trademark of BoxTop Software, Inc. All other Trademarks are recognized and the property of their respective owners.
Artwork produced using Snapz, Photoshop, PhotoGIF, and GIFmation. HTML produced using BBEdit Lite.